package cn.itcast.mq;

import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class ConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerApplication.class, args);
    }

    /**
     * @return MessageConverter
     * @author: xyx
     * @date: 2022/10/12 0012 17:07
     * @description: 消息提供者提供对象的时候，需要配置序列化
     * 消息转换，使用jdk序列化方式并不合适，我们希望消息体的体积更小、可读性更高，因此可以使用JSON方式来做序列化和反序列化，
     * 我们发送接收消息都会被序列化成object类型，我们如果传对象的话那么序列化之后的消息体就会很大，那么传输效率就会变低，同时
     * 序列化之后也不安全。加入messageConverter()之后对底层消息传输类型做出的改变，object-->json，并且不用对代码进行改动。
     **/
    @Bean
    public MessageConverter messageConverter() {
        return new Jackson2JsonMessageConverter();
    }
}
